Message shopping over an electronic marketplace

ABSTRACT

Disclosed are various embodiments for shopping using a messaging system. A message from a user includes a plurality of line items. At least one item may be identified corresponding to at least one of the plurality of line items. The at least one item may be included in a list associated with a user account.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of and claims priority to U.S.application Ser. No. 13/312,295, entitled “MESSAGE SHOPPING OVER ANELECTRONIC MARKETPLACE” and filed on Dec. 6, 2011, which is incorporatedby reference as if set forth herein in its entirety.

BACKGROUND

An electronic marketplace allows a multitude of merchants to sell itemsthrough a common network site. Customers access the electronicmarketplace by browsing through webpages powered by an electroniccommerce system. Customers who wish to purchase many products will oftenspend more time browsing websites as the number of products they wish topurchase increases.

BRIEF DESCRIPTION OF THE DRAWINGS

Many aspects of the present disclosure can be better understood withreference to the following drawings. The components in the drawings arenot necessarily to scale, with emphasis instead being placed uponclearly illustrating the principles of the disclosure. Moreover, in thedrawings, like reference numerals designate corresponding partsthroughout the several views.

FIG. 1 is a drawing of a networked environment according to variousembodiments of the present disclosure.

FIG. 2 is a drawing of an example of an electronic message sent by aclient in the networked environment of FIG. 1 according to variousembodiments of the present disclosure.

FIG. 3 is a drawing of an example of a user interface within thenetworked environment of FIG. 1 according to various embodiments of thepresent disclosure.

FIG. 4 is a flowchart illustrating one example of functionalityimplemented as portions of the electronic commerce system executed in acomputing device in the networked environment of FIG. 1 according tovarious embodiments of the present disclosure.

FIG. 5 is a schematic block diagram that provides one exampleillustration of a computing device employed in the networked environmentof FIG. 1 according to various embodiments of the present disclosure.

DETAILED DESCRIPTION

The present disclosure relates to reducing the burden customers facewhen searching for items to purchase in an electronic marketplace.Various embodiments of the present disclosure seek to provide customerswith a simple and efficient way to shop for items sold in an electronicmarketplace. Through the use of electronic messages, such as email,Short Message Service (SMS) text messages, and instant messages, or anyother electronic message of the like, customers may shop for a multitudeof items without extensive interaction with an electronic commercesystem. In the following discussion, a general description of the systemand its components is provided, followed by a discussion of theoperation of the same.

With reference to FIG. 1, shown is a networked environment 100 accordingto various embodiments. The networked environment 100 includes one ormore computing devices 103 in data communication with one or moreclients 106 by way of a network 109. The network 109 includes, forexample, the Internet, intranets, extranets, wide area networks (WANs),local area networks (LANs), wired networks, wireless networks, or othersuitable networks, etc., or any combination of two or more suchnetworks.

The computing device 103 may comprise, for example, a server computer orany other system providing computing capability. Alternatively, aplurality of computing devices 103 may be employed that are arranged,for example, in one or more server banks or computer banks or otherarrangements. For example, a plurality of computing devices 103 togethermay comprise a cloud computing resource, a grid computing resource,and/or any other distributed computing arrangement. Such computingdevices 103 may be located in a single installation or may bedistributed among many different geographical locations. For purposes ofconvenience, the computing device 103 is referred to herein in thesingular. Even though the computing device is referred to in thesingular, it is understood that a plurality of computing devices 103 maybe employed in the various arrangements as described above.

Various applications and/or other functionality may be executed in thecomputing device 103 according to various embodiments. Also, variousdata is stored in a data store 112 that is accessible to the computingdevice 103. The data store 112 may be representative of a plurality ofdata stores as can be appreciated. The data stored in the data store112, for example, is associated with the operation of the variousapplications and/or functional entities described below.

The components executed on the computing device 103, for example,include an electronic commerce system 121, and other applications,services, processes, systems, engines, or functionality not discussed indetail herein. The electronic commerce system may include a messageshopping application 115. Although the message shopping application 115and the electronic commerce system 121 are described as distinctprograms, it is understood that the functionality involved may bestructured in a variety of ways involving any number of programs andapplications.

The electronic commerce system 121 may be an application that isexecuted in order to facilitate the online purchase of items in theelectronic marketplace over the network 109. The electronic commercesystem 121 also performs various backend functions associated with theonline presence of an electronic marketplace in order to facilitate theonline purchase of items as will be described. For example, theelectronic commerce system 121 assists in providing web pages,application content, and/or other types of network content that areprovided to clients 106 for the purposes of promoting and selectingitems for purchase, rental, download, lease, or any other forms ofconsumption.

The message shopping application 115 is executed as part of theelectronic commerce system 121 to facilitate online shopping usingelectronic messages 200. Thus, the message shopping application 115 canbe executed to expand the functionality of the electronic commercesystem 121.

The data stored in the data store 112 includes, for example, a catalog130, network page data 136, data relating to each customer account 139,and potentially other data. The catalog 130 includes a plurality ofitems 142 offered by a multitude of sellers through an electronicmarketplace. An item 142 may refer to a product, good, service, softwaredownload, multimedia download, social networking profile, or anycombination, bundle, or package thereof, that may be offered for sale,purchase, rental, lease, download, and/or any other form of consumptionas may be appreciated. The various items 142 stored in the catalog 130may each include one or more attributes 145. Various attributes maycorrespond to each item 142 such that an item 142 can be describedand/or identified by its corresponding attributes 145. Attributes 145,for example, include titles, descriptions, quantities, conditions,images, options, weights, customer reviews, customer ratings, keywords,shipping restrictions, prices, tax classifications, unique identifiers,product or model numbers, Stock-keeping-unit (SKU) numbers, UniversalProduct Codes (UPCs), International Standard Book Numbers (ISBNs),color, size, brand and any other data related to items 142.

The customer accounts 139 include various data associated withcustomers, buyers, or users in the electronic marketplace. Each customeraccount 139 may correspond to a different customer within the electronicmarketplace. To this end, each customer account 139 may include, forexample, correspondence data 148, registration data 151, customerhistory 154, one or more lists 158, and/or other data. Thecorrespondence data 148 may include records of electronic messages foreach registered customer. This may entail storing electronic messagessent to or received from each customer with a customer account.Registration data 151 may include personal customer information for eachcustomer. For example, personal customer information may include emailaddresses, phone numbers, shipping addresses, billing addresses, paymentinstrument information, passwords, and/or other information. Customerhistory 154 may include data relating to a customer's shopping patterns,purchase history, browse history, items removed, and so on. Each of thelists 158 may be a list of items 142 selected for a customer by theelectronic commerce system 121. A list 158, for example, may be ashopping list, a wish list, a registry list, or any other list used by acustomer to track a potential purchase of items.

The client 106 is representative of a plurality of client devices thatmay be coupled to the network 109. The client 106 may comprise, forexample, a processor-based system such as a computer system. Such acomputer system may be embodied in the form of a desktop computer, alaptop computer, personal digital assistants, cellular telephones, smartphones, set-top boxes, music players, web pads, tablet computer systems,game consoles, electronic book readers, or other devices with likecapability. The client 106 may include a display 166. The display 166may comprise, for example, one or more devices such as cathode ray tubes(CRTs), liquid crystal display (LCD) screens, gas plasma-based flatpanel displays, LCD projectors, or other types of display devices, etc.

The client 106 may be configured to execute various applications such asa browser 169, a dedicated application 175, an email system 168, and/orother applications. The browser 169 may be executed in a client 106, forexample, to display content in a user interface 172, such as web pages,or other network content served up by the computing device 103 and/orother servers, thereby generating a rendered network page on the display166. Likewise, a dedicated application 175 executed in a client 106 maypresent network content for display using a user interface 172.Additionally, the email application may also be executed within theclient, for example, to facilitate sending and receiving email messagesover the network 109. Furthermore, the browser 169 may work inconjunction with the email system 168 to effectuate the functionality ofthe email system 168. The client 106 may be configured to executeapplications beyond the browser 169 and the email application such as,for example, instant message applications, and/or other applications.

The networked environment 100 may also include an electronic message200. The electronic message may be sent to a computing device 103 fromone or more clients 106 over the network 109. The electronic commercesystem 121 may be configured to receive the electronic message 200 forprocessing. The electronic message may include one or more line items210. Each line item 210 may represent an item 142 that a customerdesires to purchase. Furthermore, each line item 210 may include one ormore user-specified attributes 212. A customer may describe a desireditem 142 using various user-specified attributes 212 to assist theelectronic commerce system in identifying an item 142 to include in alist 158. The networked environment 100 may further include a replymessage 178 that is generated by an electronic commerce system 121. Thereply message may be sent to a client 106 over the network 109.

Next, a general description of the operation of the various componentsof the networked environment 100 is provided. To begin, the electroniccommerce system 121 may be executed to facilitate the online purchase ofitems 142 from an electronic market place over a network 109. Theelectronic commerce system 121 may be an application including variousmodules and components to assist customers to purchase items 142 overthe network 109. The message shopping application 115 may be executed aspart of the electronic commerce system 121. By employing the messageshopping application 115, the electronic commerce system 121 can extendits functionality with respect to facilitating online purchases of items142.

In various embodiments the message shopping application 115 may beexecuted periodically or in response to an event. One such event may bereceiving a particular electronic message 200 from a user. For example,a user may send an electronic message 200 over the network 109 to usethe message shopping application 115. This would trigger the executionof the message shopping application 115.

Customers are typically registered within an electronic commerce system121 prior to making transactions over the electronic marketplace. Thismay involve providing the customer with a customer account 139. Acustomer may be any user of the electronic commerce system 121. Theelectronic commerce system 121 may provide the customer with a user nameand password. This information may be stored as registration data 151within the respective customer account 139. Additionally, the electroniccommerce system 121 may associate an email address of the customer withthe customer account. In an alternate embodiment, the electroniccommerce system 121 may associate a phone number of the customer withthe customer account 139. In any case, the electronic commerce system121 may use an email address, user name, or phone number to verify orauthenticate the customer's identity when a customer attempts to accessthe electronic commerce system 121.

The message shopping application 115 is configured to process anelectronic message 200 received from a customer. An electronic message200 may be an email message, a Short Message Service (SMS) text message,an instant message, or anything of the like. In one embodiment, theelectronic message 200 is stored in memory. Specifically, the electronicmessage 200 may be stored as correspondence data within a data store112. In one example of the present disclosure, all electronic messages200 received from a particular customer may be stored in a customeraccount 139 for the customer.

Processing the electronic message 200 may also include validating theelectronic message 200. For example, if the electronic message 200 is anemail, then the message shopping application 115 can verify if the emailaddress of a sender matches an email address belonging to a customer.Moreover, the message shopping application 115 may be configured toaccess registration data 151 within a customer account 139 whereregistration data 151 may include the email address of a customer. Thus,by looking at the email address of a sender, which is part of the emailmessage subject to processing, the message shopping application 115 canidentify the customer by referencing the registration data 151 stored inthe data store 112. Similarly, if the electronic message 200 is an SMStext message, the message shopping application 115 can use the sender'sphone number to identify the customer by referencing the customer'sregistration data 151. Thus, verification is complete upon identifyingthe customer based on sender information associated with the electronicmessage 200.

An electronic message 200 received by the message shopping application115 may include one or more line items 210. A line item 210 mayrepresent a desired item 142 that a customer wishes to purchase.Specifically, the customer describes the desired item 142 as a line item210 within the electronic message 200. The message shopping application115 may identify each line item 210 included within a receivedelectronic message 200. This may involve performing various text stringfunctions to extract and parse each line item 210. The message shoppingapplication 115 may store in memory each line item 210 included in aparticular electronic message 200. In one embodiment of the presentdisclosure, each electronic message 200 received from a customer isstored as correspondence data 148 in a customer account 139 for thecustomer.

Next, the electronic commerce system 121 may identify an item 142 foreach line item 210 in the electronic message 200. The electroniccommerce system 121 may access data stored in data store 112 to makethis determination. For example, the electronic commerce system 121 maysearch throughout a catalog 130, which is managed by the electroniccommerce system 121. Here, the electronic commerce system 121 may matchan item 142 within the catalog 130 to a particular line item 210 of thereceived electronic message 200. Additionally, the electronic commercesystem 121 may find an item 142 associated with a merchant who isoffering the best offer. When the electronic commerce system 121identifies at least one item 142 for each line item 210, the electroniccommerce system 121 may include one or more items 142 in a list 158associated with a customer account 139 for the customer. In oneembodiment of the present disclosure, the electronic commerce system 121first generates the list 158 and then includes the identified items 142in the list 158. In another embodiment, the electronic commerce system121 includes the identified items 142 in a list 158 by updating apreviously existing list. For example, a customer may send subsequentelectronic messages to the electronic commerce system 121 to update thelist 158.

The message shopping application 115 is configured to generate a replymessage 178 to send to the customer. The reply message 178, for example,may be an email, a Short Message Service (SMS) text message, an instantmessage or any other electronic message of the like. The reply message178 may include information relating to the status of one of the lists158. For example, if no items 142 were identified by the electroniccommerce system 121 for the line items 210 in the electronic message200, then the reply message 178 may indicate this result. Similarly, ifone or more items 142 were identified by the electronic commerce system121, then the reply message 178 can confirm that such items 142 havebeen included in one of the lists 158 in the customer account 139 forthe customer. In one embodiment of the present disclosure, the replymessage 178 may include a link for directing the user to one of thelists 158. In this case, the contents of the list 158 may be expressedto the customer using a user interface 172. In one example, the linkincluded in the reply message 178 will provide access to a network pagethat includes the list 158. Furthermore, the network page is displayedin the user interface 172 by using a browser 169. In another example, adedicated application 175 is executed in the client 106 for renderingone or more lists 158 in the user interface 172.

The message shopping application 115 may automatically transmit thereply message 178 to the customer. Through the use of a client 106, acustomer can receive the reply message 178. In the case where the replymessage 178 is an email message, the customer can use an email system168 to receive the reply message 178. If the reply message 178 includesa link to the list 158, the customer may use a browser 169 to assist inaccessing the list 158 within a user interface 172 in the display 166 ofthe client 106.

Data relating to customer history 154 may be stored in a customeraccount 139 for each customer. Customer history 154 may include datarelating to a customer's shopping patterns, purchase history, browsehistory, items removed, or any other data relating to the habits of thecustomer. For example, the message shopping application 115 may trackthe number of electronic messages received from a particular customerand store that information in the customer history 154. Similarly, themessage shopping application 115 may track the number of reply messagestransmitted to a particular customer and store that information in thecustomer history 154. This information may be used by the electroniccommerce system 121 to ensure security. For example, if the number ofelectronic messages received by a particular customer exceeds athreshold amount, then the electronic commerce system 121 may be alertedto investigate whether the customer is a legitimate, potential buyerrather than an artificial customer intending to burden the electroniccommerce system 121 with repetitive requests.

Referring next to FIG. 2, shown is an exemplary electronic message 200sent within a networked environment 100 (FIG. 1). In particular, theelectronic message 200 shown in FIG. 2 depicts an example of the formatand content of an exemplary electronic message received by a messageshopping application 115 (FIG. 1).

Specifically, the electronic message 200 includes three desired items142 (FIG. 1) for which a customer wishes to shop in an electronicmarketplace: a size nine tennis show that is branded by ShoeCo; anotebook with a SKU number of 95126; and a laptop computer that is ablack laptop manufactured by CompCo with a model number of L30309. Inthe example illustrated, the desired shoe corresponds to a first lineitem 210 a, the desired notebook corresponds to a second line item 210b, and the desired laptop computer corresponds to a third line item 210c. Various user-specified attributes 212 may be associated with eachline item 210. For example, the customer may describe the desired shoeas a first line item 210 a, using a brand attribute 212 a, a sizeattribute 212 b and a description attribute 212 c. Additionally, thedesired notebook, described within a second line item 210 b, may includea SKU number attribute 212 d. And finally, the desired laptop computer,described as a third line item 210 c, may include a manufacturerattribute 212 e, a description attribute 212 f, a model number attribute212 g, and a color attribute 212 h. It should be appreciated that theelectronic message may include any number of line items 210.Furthermore, any line item 210 may include any number of user-specifiedattributes 212. And also, a particular line item 210 may include anycombination of user-specified attributes 212 in any order.

As seen in the following scenario, the electronic message 200 in FIG. 2demonstrates one example of how a customer may efficiently search foritems 142 (FIG. 1) that are sold over an electronic marketplace.

In this scenario, a customer may use a client 106 (FIG. 1) to send anelectronic message 200 over the network 109 (FIG. 1) to the electroniccommerce system 121 (FIG. 1). The customer, in this example, intends toshop within the electronic marketplace for three desired items 142. Thefirst desired item 142 is a tennis shoe of size 9 branded by ShoeCo. Thesecond desired item 142 is a particular notebook with the SKU number of95126. And the third desired item 142 is a black laptop computermanufactured by CompCo with a model number of L30309. The customer candescribe these three desired items 142 within one electronic message200. In one embodiment of the present disclosure, each desired item 142can be described in separate lines of the electronic message 200 using acarriage return to separate each line. After creating the electronicmessage 200, the customer can use the client 106 to send the electronicmessage 200 to the electronic commerce system 121 (FIG. 1).

Upon receiving the electronic message 200, the message shoppingapplication 115 may be executed to store the electronic message 200 andto validate the message. The message shopping application 115 may thenprocess the electronic message 200 to identify items 142 correspondingto the desired items 142 described in the electronic message 200. Forexample, the message shopping application 115 may identify the firstline item 210 a, the second line item 210 b, and the third line item 210c within the electronic message 200, where each of the line items 210 a,210 b, 210 c corresponds to a desired item 142.

The message shopping application 115 may identify items 142corresponding to the first line item 210 a, the second line item 210 b,and the third line item 210 c, respectively. In one example, this may bedone by searching through items 142 stored in a catalog 130 (FIG. 1).The search may lead to a match where the electronic commerce system 121identifies a shoe item 142 corresponding to the first line item 210 a, anotebook item 142 corresponding to the second line item 210 b, and alaptop computer item 142 corresponding to the third line item 210 c.Next, the electronic commerce system 121 may include the identifieditems 142 in one or more lists 158 (FIG. 1) for the customer.Afterwards, a reply message 178 (FIG. 1) is sent to the customerconfirming that one or more lists 158 includes the identified items 142for the customer. Thus, to summarize this scenario, the customerefficiently shopped through an electronic marketplace for a plurality ofitems 142 by sending the electronic message 200.

The electronic message 200 of FIG. 2. further depicts an alternativeembodiment of the present disclosure. In this alternative embodiment,each line item 210 in the electronic message 200 may include one or moreattributes. For example, to describe a shoe, a customer may specify abrand attribute 212 a, a size attribute 212 b and a descriptionattribute 212 c. After identifying the first line item 210 a, forexample, the message shopping application 115 can use the user-specifiedattributes 212 a, 212 b, and 212 c included in the first line item 210 ato aid in identifying a corresponding item 142. Specifically, themessage shopping application 115 may identify a shoe item 142 by usingthe brand attribute 212 a, the size attribute 212 b, and the descriptionattribute 212 c included in the first line item 210 a. This isaccomplished by searching the attributes 145 (FIG. 1) within a catalog130 to identify a correlating item 142. In other words, the varioususer-specified attributes 212 a-212 h describing the desired items 142within the electronic message 200 may be compared to the attributes 145stored within a catalog 130.

The electronic commerce system 121 can determine that the first lineitem 210 a within the electronic message 200 describes an item 142 witha brand of “ShoeCo”, a size of “nine”, and a description of “tennis.”The electronic commerce system 121 may then identify an item 142 withina catalog 130 that matches the user-specified attributes 212 a, 212 b,and 212 c of the first line item 210 a such that the item 142 representsa product available for purchase. In this case, the electronic commercesystem 121 can identify a shoe item 142 based on the brand 212 a, size212 b, and description 212 c attributes. The electronic commerce system121 can then include the identified shoe item 142 in a list 158 for thecustomer.

When the electronic commerce system 121 identifies the shoe item 142,the electronic commerce system 121 may correlate the first line item 210a to at least one item 142 included in a catalog 130. To accomplishthis, the electronic commerce system 121 may employ a matching algorithmor other approaches. Through the use of a matching algorithm, forexample, a match score will be assigned based on the strength of thematch between an input and an item 142 in the data store 112 (FIG. 1).In one case, the electronic commerce system 121 may find an exactmatching item 142. That is to say, the first line item 210 a correlatesto one and only one item 142 such that only one item 142 is identifiedfor the line item 210 a. In one case, if the strength of a match betweenthe first line item 210 a and an item 142 in the data store 112 resultsin a match score that exceeds a threshold amount, then an exact match issignified.

In another case, the electronic commerce system 121 finds a similarmatching item 142. As an example, the first line item 210 a maycorrelate to one or more items 142 in a data store 112 such that thematch score falls below a threshold amount for each of the items 142,therefore indicating a weaker correlation than in the case of an exactmatch. When this occurs, one or more items 142 may be included in thelist 158 as one or more recommended items. In one example of this case,a similar matching item 142 will be automatically included in the list158. In another example, a similar matching item 142 will not beincluded in the list 158 unless a customer takes affirmative action toplace the similar matching item 142 in the list 158 through interactionwith a user interface 172.

The electronic commerce system 121 may also find no matching items 142.This occurs when the match score is so low that no match exists. Thus,no item 142 is identified by the electronic commerce system 121 and inturn, no item 142 is included in the list 158 (FIG. 1).

Turning now to FIG. 3, shown is one example of a user interface 172(FIG. 1) denoted hereinafter as user interface 172 a. In particular, theuser interface 172 a expresses the contents of one or more lists 158(FIG. 1) of a customer account 139 (FIG. 1) for a customer.

The user interface 172 a includes a list title 311. The list title 311may indicate that the user interface 172 a expresses the contents of alist 158 that is a virtual shopping cart, a wish list, a registry list,or any other list of the like. Specifically, one or more items 142 maybe included in the user interface 172 a such that the items 142 areidentified by the electronic commerce system 121 (FIG. 1).

In a situation where the electronic commerce system 121 attempts toidentify an item 142 corresponding to a line item 210 (FIG. 1) but failsto find a match, a failed attempt indicator 313 may be included in theuser interface 172 a. The user interface 172 a may optionally includetext or any other object specifying at least one particular unmatchedline item 310. For example, if the electronic commerce system 121receives an electronic message 200 (FIG. 1) and fails to identify anitem 142 corresponding to the second line item 210 b (FIG. 2), then thetext or object of the unmatched line item 310 section in the userinterface 172 a may include the text “SKU 95126.”

Next, the user interface 172 a may include a recommended items indicator315. For instance, if the electronic commerce system 121 finds at leastone similar matching item 142 that corresponds to a line item 210included in an electronic message 200, then the user interface 172 a mayinclude the recommended items indicator 315. This alerts the customerthat at least one item 142 has been identified for the customer with thequalification that the similar matching item 142 is not an exact match.Along with the recommended items indicator 315, the user interface 172 amay include one or more representations of recommended items 322. Therecommended items 322 may be selected from the items 142 in the catalog130 (FIG. 1). For example, a customer can send an electronic message 200to the electronic commerce system 121 indicating a desired notebook witha SKU number of 95126, among other desired items 142. The messageshopping application 115 may then identify a second line item 210 b(FIG. 2) and search throughout a catalog 130 to identify a matching item142 based on the second line item 210 b. If an exact match is notidentified, then a similar match might be identified. This similar matchmay be included in the user interface 172 a as a recommended item 322.Additionally, if more than one similar match is identified, each similarmatch may be included in the user interface 172 a as a plurality ofrecommended items 322.

The user interface 172 a may include one or more add buttons 325corresponding to each recommended items 322, respectively. The addbuttons 325 allow a customer to modify the list 158. For example, byclicking on an add button 325, the corresponding recommended item 322will be included in the list 158. Additionally, the user interface 172 amay include buttons to remove items 142 from a list 158. Thus, acustomer may modify the list 158 by removing items 142 through the userinterface 172 a.

A checkout button 335 may also be included in the user interface 172 a.The checkout button 335 facilitates an online transaction for thepurchase of at least one of the items 142 included in a list 158.Specifically, a customer who clicks the checkout button 335 willpurchase items 142 included in the user interface 172 a.

Referring next to FIG. 4, shown is a flowchart that provides one exampleof the operation of a portion of the electronic commerce system 121(FIG. 1) according to various embodiments. It is understood that theflowchart of FIG. 4 provides merely an example of the many differenttypes of functional arrangements that may be employed to implement theoperation of the portion of the electronic commerce system 121 asdescribed herein. As an alternative, the flowchart of FIG. 4 may beviewed as depicting an example of steps of a method implemented in thecomputing device 103 (FIG. 1) according to one or more embodiments.

Beginning with box 402, an electronic commerce system 121 receives anelectronic message 200 (FIG. 1) from a user and validates the electronicmessage 200. Specifically, a message shopping application 115 (FIG. 1)executed along with the electronic commerce system 121 may facilitatereceiving an electronic message 200 and storing the electronic message200 in memory for processing. The message shopping application 115 canvalidate the electronic message 200 by comparing sender information ofthe electronic message 200, such as an email address or phone number, toinformation stored in various customer accounts 139 (FIG. 1). Thiscomparison will assist the electronic commerce system 121 in identifyingthe customer who sent the electronic message 200 and verifying that thecustomer associated with a customer account 139 (FIG. 1).

Next, in box 404 the message shopping application 115 identifies atleast one line item 210 (FIG. 1) within the received electronic message200. The electronic message 200 may include one or more line items 210for which a user desires to shop in an electronic marketplace. In box406, the message shopping application 115 may identify at least oneattribute for each line item 210 (FIG. 1).

In box 408, the electronic commerce system 121 attempts to identify oneor more items 142 available for purchase though the electronic commercesystem 121 for each line item 210. The message shopping application 115may use the identified attributes in attempting to identify an item 142.For example, the electronic commerce system 121 attempts to identify oneor more items 142 (FIG. 1) by searching attributes 145 (FIG. 1) within acatalog 130 (FIG. 1).

In one embodiment of the present disclosure, the electronic commercesystem 121 identifies one or more items offered by a particular merchantwho is offering the best offer. The electronic commerce system 121allows a multitude of merchants to sell the same item 142 to customersshopping over the electronic marketplace. The same item 142 may beoffered at varying prices by the different merchants. Moreover, inaddition to price, items 142 may be offered with different shippingprices. For example, a first merchant may sell a text book for $100dollars with no shipping fees while a second merchant may sell the sametext book for $90 with $20 shipping fees. Thus, the first merchant isoffering the best offer when factoring in the cost of shipping.Accordingly, the electronic commerce system 121 may identify the textbook item 142 offered by the first merchant because the first merchantis offering the best offer.

When determining the best offer, the electronic commerce system 121 mayalso weigh other factors based on the merchant such as seller ratings,merchants offering high quality products, merchant return policies,merchant reputation, or any other factor that distinguishes one merchantfrom another. Thus, in box 408, the electronic commerce system 121identifies an item within a catalog 130, and then identifies themerchant offering the best offer.

In another embodiment, the electronic message 200 itself specifies oneor more preferred merchants. Accordingly, when the electronic commercesystem 121 identifies an item 142 available for purchase, the electroniccommerce system identifies the item offered by the preferred merchant.

If the attempt to identify one or more items 142 is unsuccessful, asseen in box 410, then the electronic commerce system 121 generates afailed attempt response in box 412. This response will automatically begenerated when the attempt to identify is unsuccessful.

However if, in box 410, the attempt to identify one or more items 142 issuccessful, then according to box 414, the identified items 142 will beincluded in a list 158 (FIG. 1). In one embodiment, the item included inthe list is the best offer. In another embodiment, a successful attemptcan include identifying an item 142 for a first line item 210 a (FIG. 2)and failing to identify an item 142 for a second line item 210 a (FIG.2). So, as long as the item 142 is successfully identified for any lineitem 210 within an electronic message 200 (FIG. 2), then the identifieditem 142 will be included in the list 158. In box 416, the electroniccommerce system 121 generates a successful attempt response. This can bedone automatically in response to the inclusion of the identified item142 in the list 158.

In box 418, regardless of whether the attempt to identify an item 142was successful or not, the response is automatically sent to the user.This notifies the user that the electronic message 200 has beenprocessed by the electronic commerce system 121. In one embodiment ofthe present disclosure, the response is an electronic message 200 thatincludes a link to direct the user to a network page.

With reference to FIG. 5, shown is a schematic block diagram of thecomputing device 103 according to an embodiment of the presentdisclosure. The computing device 103 includes at least one processorcircuit, for example, having a processor 503 and a memory 506, both ofwhich are coupled to a local interface 509. To this end, the computingdevice 103 may comprise, for example, at least one server computer orlike device. The local interface 509 may comprise, for example, a databus with an accompanying address/control bus or other bus structure ascan be appreciated.

Stored in the memory 506 are both data and several components that areexecutable by the processor 503. In particular, stored in the memory 506and executable by the processor 503 are electronic commerce system 121(FIG. 1), message shopping application 115 (FIG. 1), and potentiallyother applications. Also stored in the memory 506 may be a data store112 and other data. In addition, an operating system may be stored inthe memory 506 and executable by the processor 503.

It is understood that there may be other applications that are stored inthe memory 506 and are executable by the processors 503 as can beappreciated. Where any component discussed herein is implemented in theform of software, any one of a number of programming languages may beemployed such as, for example, C, C++, C#, Objective C, Java,Javascript, Perl, PHP, Visual Basic, Python, Ruby, Delphi, Flash, orother programming languages.

A number of software components are stored in the memory 506 and areexecutable by the processor 503. In this respect, the term “executable”means a program file that is in a form that can ultimately be run by theprocessor 503. Examples of executable programs may be, for example, acompiled program that can be translated into machine code in a formatthat can be loaded into a random access portion of the memory 506 andrun by the processor 503, source code that may be expressed in properformat such as object code that is capable of being loaded into a randomaccess portion of the memory 506 and executed by the processor 503, orsource code that may be interpreted by another executable program togenerate instructions in a random access portion of the memory 506 to beexecuted by the processor 503, etc. An executable program may be storedin any portion or component of the memory 506 including, for example,random access memory (RAM), read-only memory (ROM), hard drive,solid-state drive, USB flash drive, memory card, optical disc such ascompact disc (CD) or digital versatile disc (DVD), floppy disk, magnetictape, or other memory components.

The memory 506 is defined herein as including both volatile andnonvolatile memory and data storage components. Volatile components arethose that do not retain data values upon loss of power. Nonvolatilecomponents are those that retain data upon a loss of power. Thus, thememory 506 may comprise, for example, random access memory (RAM),read-only memory (ROM), hard disk drives, solid-state drives, USB flashdrives, memory cards accessed via a memory card reader, floppy disksaccessed via an associated floppy disk drive, optical discs accessed viaan optical disc drive, magnetic tapes accessed via an appropriate tapedrive, and/or other memory components, or a combination of any two ormore of these memory components. In addition, the RAM may comprise, forexample, static random access memory (SRAM), dynamic random accessmemory (DRAM), or magnetic random access memory (MRAM) and other suchdevices. The ROM may comprise, for example, a programmable read-onlymemory (PROM), an erasable programmable read-only memory (EPROM), anelectrically erasable programmable read-only memory (EEPROM), or otherlike memory device.

Also, the processor 503 may represent multiple processors 503 and thememory 506 may represent multiple memories 506 that operate in parallelprocessing circuits, respectively. In such a case, the local interface509 may be an appropriate network 109 (FIG. 1) that facilitatescommunication between any two of the multiple processors 503, betweenany processor 503 and any of the memories 506, or between any two of thememories 506, etc. The local interface 509 may comprise additionalsystems designed to coordinate this communication, including, forexample, performing load balancing. The processor 503 may be ofelectrical or of some other available construction.

Although electronic commerce system 121 (FIG. 1), message shoppingapplication 115 (FIG. 1), and other various systems described herein maybe embodied in software or code executed by general purpose hardware asdiscussed above, as an alternative the same may also be embodied indedicated hardware or a combination of software/general purpose hardwareand dedicated hardware. If embodied in dedicated hardware, each can beimplemented as a circuit or state machine that employs any one of or acombination of a number of technologies. These technologies may include,but are not limited to, discrete logic circuits having logic gates forimplementing various logic functions upon an application of one or moredata signals, application specific integrated circuits havingappropriate logic gates, or other components, etc. Such technologies aregenerally well known by those skilled in the art and, consequently, arenot described in detail herein.

The flowchart of FIG. 4 the functionality and operation of animplementation of portions of the electronic commerce system 121 (FIG.1). If embodied in software, each block may represent a module, segment,or portion of code that comprises program instructions to implement thespecified logical function(s). The program instructions may be embodiedin the form of source code that comprises human-readable statementswritten in a programming language or machine code that comprisesnumerical instructions recognizable by a suitable execution system suchas a processor 503 in a computer system or other system. The machinecode may be converted from the source code, etc. If embodied inhardware, each block may represent a circuit or a number ofinterconnected circuits to implement the specified logical function(s).

Although the flowchart of FIG. 4 shows a specific order of execution, itis understood that the order of execution may differ from that which isdepicted. For example, the order of execution of two or more blocks maybe scrambled relative to the order shown. Also, two or more blocks shownin succession in flowchart of FIG. 4 may be executed concurrently orwith partial concurrence. Further, in some embodiments, one or more ofthe blocks shown in flowchart of FIG. 4 may be skipped or omitted. Inaddition, any number of counters, state variables, warning semaphores,or messages might be added to the logical flow described herein, forpurposes of enhanced utility, accounting, performance measurement, orproviding troubleshooting aids, etc. It is understood that all suchvariations are within the scope of the present disclosure.

Also, any logic or application described herein, including electroniccommerce system 121 (FIG. 1) and message shopping application 115(FIG. 1) that comprises software or code can be embodied in anynon-transitory computer-readable medium for use by or in connection withan instruction execution system such as, for example, a processor 503 ina computer system or other system. In this sense, the logic maycomprise, for example, statements including instructions anddeclarations that can be fetched from the computer-readable medium andexecuted by the instruction execution system. In the context of thepresent disclosure, a “computer-readable medium” can be any medium thatcan contain, store, or maintain the logic or application describedherein for use by or in connection with the instruction executionsystem. The computer-readable medium can comprise any one of manyphysical media such as, for example, magnetic, optical, or semiconductormedia. More specific examples of a suitable computer-readable mediumwould include, but are not limited to, magnetic tapes, magnetic floppydiskettes, magnetic hard drives, memory cards, solid-state drives, USBflash drives, or optical discs. Also, the computer-readable medium maybe a random access memory (RAM) including, for example, static randomaccess memory (SRAM) and dynamic random access memory (DRAM), ormagnetic random access memory (MRAM). In addition, the computer-readablemedium may be a read-only memory (ROM), a programmable read-only memory(PROM), an erasable programmable read-only memory (EPROM), anelectrically erasable programmable read-only memory (EEPROM), or othertype of memory device.

It should be emphasized that the above-described embodiments of thepresent disclosure are merely possible examples of implementations setforth for a clear understanding of the principles of the disclosure.Many variations and modifications may be made to the above-describedembodiment(s) without departing substantially from the spirit andprinciples of the disclosure. All such modifications and variations areintended to be included herein within the scope of this disclosure andprotected by the following claims.

Therefore, the following is claimed:
 1. A computer-implemented method,comprising: determining, via a computing device, that a user accountassociated with an address identified in a header of an email message isvalid based at least in part on a determination that a number ofprevious reply email messages sent to the address identified in theheader of the email message does not exceed a predefined threshold; inresponse to a determination that the user account is valid, searching,via computing device, a data store comprising a plurality of items toidentify at least one item corresponding to individual ones of aplurality of line items included in the email message; including, viathe computing device, the at least one item in a list associated with auser account; and transmitting, via the computing device, a reply emailmessage to the address identified in the header of the email message,wherein the reply email message indicates that the at least one item hasbeen included in the list and the reply email message comprises auniform resource locator (URL) that references the list.
 2. Thecomputer-implemented method of claim 1, further comprising storing, viathe computing device, the list in a memory of the computing device forfuture access by the user account.
 3. The computer-implemented method ofclaim 1, further comprising transmitting, via the computing device, thereply email message to the user account indicating that attempting toidentify is unsuccessful in response to failing to identify the at leastone item.
 4. The computer-implemented method of claim 1, whereinattempting to identify at least one item corresponding to the individualones of the plurality of line items further comprises correlating one ofthe plurality of line items to a catalog item.
 5. Thecomputer-implemented method of claim 4, wherein correlating furthercomprises finding, via the computing device, an exact matching item. 6.The computer-implemented method of claim 4, wherein correlating furthercomprises identifying, via the computing device, a similar matchingitem.
 7. The computer-implemented method of claim 1, wherein at leastone of the plurality of line items comprises a plurality of attributes.8. A non-transitory computer-readable medium comprising a program that,when executed by a computing device, causes the computing device to atleast: determine that a number of previous reply messages sent to anaddress identified in a header of an email message does not exceed apredefined threshold; in response to a determination that the number ofprevious reply messages sent to the address identified in the header ofthe email message does not exceed the predefined threshold, search anelectronic catalog associated with an electronic commerce system toidentify at least one item corresponding to individual line items of aplurality of line items included in the email message; determine that atleast one item corresponding to the individual line items of theplurality of line items has been identified; and in response to adetermination that the at least one item corresponding to the individualline items of the plurality of line items has been identified, includethe at least one item in a list associated with a user account; and senda reply email message indicating that the at least one item has beenincluded in the list and comprising a uniform resource locator (URL)directing the user to the list.
 9. The non-transitory computer-readablemedium of claim 8, wherein the program, when executed by the computingdevice, further causes the computing device to at least: determine thatthe at least one item corresponding to the individual line items of theplurality of line items has not been identified; and in response todetermining that the at least one item corresponding to the individualline items of the plurality of line items has not been identified, sendanother reply email message indicating that the at least one itemcorresponding to the individual line items of the plurality of lineitems has not been identified.
 10. The non-transitory computer-readablemedium of claim 8, wherein the program, when executed by the computingdevice, further causes the computing device to at least increment thenumber of previous reply email messages sent to the address identifiedin the header of the email message in response to the reply emailmessage being sent.
 11. The non-transitory computer-readable medium ofclaim 8, wherein causing the computing device to at least determine thatthe at least one item corresponding to the individual line items of theplurality of line items has been identified further comprises causingthe computing device to at least correlate at least one of the pluralityof line items to a catalog item.
 12. The non-transitorycomputer-readable medium of claim 11, wherein causing the computingdevice to at least correlate the at least one of the plurality of lineitems to the catalog item further comprises causing the computing deviceto at least identify a similar matching item.
 13. A system, comprising:a computing device comprising a processor and a memory; and machinereadable instructions stored in the memory that, when executed by theprocessor, cause the computing device to at least: determine that a useraccount associated with an address identified in a header of an emailmessage is valid based at least in part on a determination that a numberof previous reply email messages sent to the address identified in theheader of the email message does not exceed a predefined threshold; inresponse to a determination that the user account is valid, search adata store comprising a plurality of items to identify at least one itemcorresponding to individual ones of a plurality of line items includedin the email message; add the at least one item to a list associatedwith a user account; and send a reply email message to the addressidentified in the header of the email message, wherein the reply emailmessage indicates that the at least one item has been included in thelist and the reply email message includes a uniform resource locator(URL) that references the list.
 14. The system of claim 13, wherein themachine readable instructions further cause the computing device to atleast store the list in the memory of the computing device for futureaccess by the user account.
 15. The system of claim 13, wherein themachine readable instructions further cause the computing device to atleast send the reply email message to the user indicating thatattempting to identify is unsuccessful in response to failing toidentify the at least one item.
 16. The system of claim 13, wherein themachine readable instructions that cause the computing device to attemptto identify at least one item corresponding to the individual items ofthe plurality of line items further cause the computing device to atleast correlate at least one of the plurality of line items to a catalogitem.
 17. The system of claim 16, wherein the machine readableinstructions that cause the computing device to correlate at least oneof the plurality of line items to the catalog item further cause thecomputing device to at least find an exact matching item.
 18. The systemof claim 16, wherein the machine readable instructions that cause thecomputing device to correlate at least one of the plurality of lineitems to the catalog item further cause the computing device to at leastidentify a similar matching item.
 19. The system of claim 13, wherein atleast one of the plurality of line items comprises a plurality ofattributes.
 20. The system of claim 13, wherein the machine readableinstructions further cause the computing device to at least incrementthe number of previous reply email messages sent to the addressidentified in the header of the email message in response to the replyemail message being sent.